Last updated by: T_Apperley, Last updated on: 03/12/2024
Active Directory Windows
1. Introduction
1.1. Purpose of this Document
This document is intended to guide administrators to secure Active Directory Windows Server 2016. All administrators should use this document for secure configuration.
1.2. Instructions
1.2.1. How to Use This Document
The security settings described in this document shall be configured on the Active Directory Windows Server 2016 by the administrators. All settings can only be done with administrative privileges.
It is strongly recommended that the settings be tested in the staging environment before applying them in the production environment. It is further recommended that the administrators of the Active Directory Windows Server 2016 make note of the original values while changing the settings. For each setting, a detailed description is given, followed by the impact if the setting is not configured and the solution to fix it.
Implementing changes on production systems without first testing them on replica test systems may adversely affect the system/application and may cause it to stop working.
2. Configuration Document: Active Directory
2.1. Account Polices
2.1.1. Password Policy & Account Lockout Policy
Control Statement
Password policies help administrator enforce the strength of passwords that users can set. Password policy is required to control user password characteristics including minimum length, maximum length and password aging. To help prevent password-based attacks from being successful, strong password and account lockout settings need to be configured.
Risk/Impact
The longer a user uses the same password, the greater the chance that an attacker can determine the password through brute force attacks. Risk Rating
High
Implementation Steps
Configure a strong Password and Account policy, as suggested in below table. To configure the policy,
Press Windows key > type Run and type gpedit.msc or rsop.msc.
Expand Computer Configuration > Windows Settings > Security Settings > Account Policy > Password Policy or Account Lockout Policy container and configure the settings as suggested in Appendix 1.
2.2. Local Polices
2.2.1. User Rights Assignments
Control Statement
The user rights settings determine which users or groups have logon rights and other privileges on the server.
Risk/Impact
If an account is given this right the user of the account may create an application that calls into Credential Manager and is returned the credentials for another user.
Risk Rating
Medium
Implementation Steps
Ensure user rights are configured as suggested in below table. To configure Security Options,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment container and configure the settings with the values as suggested in Appendix 2.
2.2.2. Security Options
Control Statement
The security option settings include multiple settings that enable or disable security settings for the server, such as digital signing of data, Administrator and guest account names, floppy drive and CD ROM access, driver installation and logon prompts.
Risk/Impact
In some organizations, it can be a daunting management challenge to maintain a regular schedule for periodic password changes for local accounts. Therefore, you may want to disable the built-in Administrator account instead of relying on regular password changes to protect it from attack.
Risk Rating
High
Implementation Steps
Ensure security options are enabled as recommended in below table. To configure security options settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options and configure the settings with the values as suggested in Appendix 3.
2.3. Windows Firewall with Advanced
2.3.1. Public Profile
Control Statement
Windows Firewall offers three firewall profiles: domain, private and public. The default profile is the public profile, which is used to designate public networks such as Wi-Fi hotspots at coffee shops, airports, and other locations
Risk/Impact
Weak controls can result into unauthorized access to server and network
Risk Rating
Low
Implementation Steps
Ensure the profile parameters must be configured as per ORGANIZATION Public Profile policy. To configure these settings on standalone server:
Click Start > Run and type Gpedit.msc
Expand Computer Configuration\Policies\Windows Settings\Security Settings\Windows Firewall with Advanced Security\Windows Firewall with Advanced Security\Windows Firewall Properties\Private Profile and configure the settings with the values as suggested in Appendix 4.
2.3.2. Private Profile
Control Statement
Windows Firewall offers three firewall profiles: domain, private and public. The private profile is a user-assigned profile and is used to designate private or home networks.
Risk/Impact
Weak controls can result into unauthorized access to server and network
Risk Rating
Low
Implementation Steps
Ensure the profile parameters must be configured as per ORGANIZATION Private Profile policy. To configure these settings on standalone server:
Click Start > Run and type Gpedit.msc
Expand Computer Configuration\Policies\Windows Settings\Security Settings\Windows Firewall with Advanced Security\Windows Firewall with Advanced Security\Windows Firewall Properties\Private Profile and configure the settings with the values as suggested in Appendix 4.
2.3.3. Domain Profile
Control Statement
Windows Firewall offers three firewall profiles: domain, private and public. The domain profile applies to networks where the host system can authenticate to a domain controller. Risk/Impact
Weak controls can result into unauthorized access to server and network
Risk Rating
Low
Implementation Steps
Ensure the profile parameters must be configured as per ORGANIZATION Domain Profile policy. To configure these settings on standalone server:
Click Start > Run and type Gpedit.msc
Expand Computer Configuration\Policies\Windows Settings\Security Settings\Windows Firewall with Advanced Security\Windows Firewall with Advanced Security\Windows Firewall Properties\Private Profile and configure the settings with the values as suggested in Appendix 4.
2.4. Auditing, Logging and Monitoring
2.4.1. Account Policies
Control Statement
The audit entry shows an event or action performed, the user account and the date and time of the action. Security auditing is important for any enterprise server, as audit logs can provide vital information about any security breach.
Risk/Impact
Malicious activity may not be detected if sufficient audit logs are not enabled. Early warning towards attempts at malicious access will go undetected. Risk Rating
High
Implementation Steps
Ensure auditing is enabled as recommended in below table. To configure audit settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration > Windows Settings > Security Settings > Advanced Audit Policy Configuration > Audit Policies and configure the settings with the values as suggested in Appendix 5.
2.4.2. Event log Sizes
Control Statement
Event viewer maintains logs about program, security and server events. Event viewer can be used to view and manage the event logs, gather information about hardware and software problems and monitor windows security events.
Risk/Impact
Critical logs may get overwritten in the absence of sufficient event viewer file size. Default value for the log is
20MB
Risk Rating
Medium
Implementation Steps
Ensure that at least 102400 KB (100MB) size is allocated for Application, Security and Server Event Viewer log files. To configure log file size,
Click Start > Run and type eventvwr.msc.
Expand Windows Logs > Right click on Application, choose the Properties and set the Maximum Log Size to any size = or > than 100MB.
Right click on Security, choose the Properties and set the Maximum Log Size to any size = or > than 100MB.
Right click on Server, choose the Properties and set the Maximum Log Size to any size = or > than 100MB.
2.4.3. Permission on Event logs
Control Statement
Event viewer holds the System, Security and Application logs for a Windows server. Unauthorized users can be given access to event logs, by default Guest has read access to event logs.
Risk/Impact
Unauthorized access to event logs may allow users to get important information. Risk Rating
Low
Implementation Steps
To configure permissions on event logs navigate to the following file,
C:\windows\System32\winevt\Application.evtx.
Right click and go to Permissions and remove invalid users. Similarly for \security.evtx and \system.evtx
Ensure that Guest access to event logs is not allowed. To configure the registry key,
Click Start > Run and type regedit. Navigate to the following registry hive,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\SYSTEM
In the sub keys check Application for the DWORD RestrictGuestAccess. Double click on
RestrictGuestAccess and assign value 1 to restrict guest access. If the DWORD RestrictGuestAccess does not exist it needs to be created. Right click and click New and then click DWORD. Rename the new DWORD to RestrictGuestAccess. Double click on RestrictGuestAccess and assign value of 1 to the RestrictGuestAccess DWORD.
Follow the same procedure for Security and Application sub keys.
2.4.4. Auditing of sensitive system and application files and directories should be enabled for servers
Control Statement
Enable Windows native auditing feature on the following sensitive system and application files and directories:
%systemroot%\
%systemroot%\system32
%systemroot%\system32\drivers
%systemroot%\system32\config
%systemroot%\system32\spool
The recommended guidelines state to audit the following actions for the Everyone group:
Create Files / Write Data - Failure
Create Folders / Append Data - Failure
Delete Subfolders and Files - Failure
Delete - Success and Failure
Change Permissions - Failure
Take Ownership - Failure Risk/Impact
Auditing access to sensitive system and application files and directories increases the chance unauthorized access to the system will be detected and terminated in a timely manner. Risk Rating
Medium
Implementation Steps
Enable Windows native auditing feature on the directories listed in the Technical Control Procedure.
Open Windows Explorer and browse to the appropriate directory;
Locate the folder/file, right click it, and select Properties from the drop down menu;
Select the Security tab;
Click the Advanced button;
Select the Auditing tab;
Click the Continue button if User Account Control is enabled;
Click the Add button then enter the name of the user or group object whose actions to audit;
Click OK and click the appropriate actions and respective success and failure checkboxes;
Click OK three times to confirm changes and close the window; and 10) Repeat steps 2 through 9 for each of the directories listed.
2.4.5. Auditing of sensitive system registry keys should be enabled on servers
Control Statement
Enable Windows native auditing feature on all sensitive system registry keys for servers. These sensitive keys may include:
HKLM\SYSTEM HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\PerfLib
HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon
HKLM\SYSTEM\CurrentControlSet\Control\Lsa
HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg\AllowedPaths
HKLM\SYSTEM\CurrentControlSet\Services\LanManServer\Shares
HKLM\SYSTEM\CurrentControlSet\Services\UPS HKEY_USERS.default
HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities
HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers
HKLM\SOFTWARE\Policies\SNMP\Parameters\ValidCommunities
HKLM\SOFTWARE\Policies\SNMP\Parameters\PermittedManagers
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx HKCR (all subkeys)
HKLM\SOFTWARE HKLM\SOFTWARE\MICROSOFT\Rpc (and all subkeys)
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\AeDebug
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\Compatibility
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\Drivers
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\Embedding
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\Fonts
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\FontSubstitutes
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\FontDrivers
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\FontMapper
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\GRE_Initialize
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\MCI
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\MCIExtensions
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\Ports (all subkeys)
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\Type1Installer
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\ProfileList
HKLM\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\WOW (all subkeys)
The recommended guidelines state to audit the following actions for the Everyone group:
Set Value - Failure
Create Subkey - Failure
Delete - Success and Failure
Risk/Impact
Auditing access to sensitive system registry keys increases the chance that unauthorized access to the system will be detected and terminated in a timely manner.
Risk Rating
Medium
Implementation Steps
Enable Windows native auditing feature on all sensitive system registry keys for sensitive servers.
Open regedit;
Locate the key, right click it, and select Permissions from the drop down menu;
Select the Security tab;
Click the Advanced button;
Select the Auditing tab;
Click the Continue button if User Account Control is enabled;
Click the Add button then enter the name of the user or group object whose actions to audit;
Click OK and click the appropriate actions and respective success and failure checkboxes;
Click OK three times to confirm changes and close the window; and
Repeat steps 2 through 9 for each of the keys listed.
2.5. Administrative Templates (Computer)
2.5.1. Control Panel
Control Statement
This section contains recommendations for configuring lock screen settings
Risk/Impact
Insecure personalization settings may lead to unauthorized access.
Risk Rating
High
Implementation Steps
Ensure security options are enabled as recommended in below table. To configure security options settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration\Administrative Templates\Control Panel\Personalization and configure the settings with the values as suggested in Appendix 6.
2.5.2. MSS (Legacy)
Control Statement
Ensure the Microsoft security settings should be configured appropriately.
Risk/Impact
Weak controls can result into unauthorized access to server and network.
Risk Rating
High
Implementation Steps
Ensure security options are enabled as recommended in below table. To configure security options settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration\Administrative Templates\MSS (Legacy) and configure the settings with the values as suggested in Appendix 6.
Note: This Group Policy path does not exist by default. An additional Group Policy template (MSSlegacy.admx/adml) is required - it is included with Microsoft Security Compliance Manager (SCM)
2.5.3. Network
Control Statement
This section contains recommendations for network settings.
Risk/Impact
Insecure network settings may leads to information leak.
Risk Rating
High
Implementation Steps
Ensure security options are enabled as recommended in below table. To configure security options settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration\Administrative Templates\Network\ and configure the settings with the values as suggested in Appendix 6.
Note: This change does not take effect until the computer has been restarted. Note #2: Although Microsoft does not provide an ADMX template to configure this registry value, a custom .ADM template (Set-NetBIOS-nodetype-KB160177.adm) needs to be implemented. Be aware though that simply turning off the group policy setting in the .ADM template will not "undo" the change once applied. Instead, the opposite setting must be applied to change the registry value to the opposite state.
2.5.4. System
Control Statement
This section contains recommendations for System settings.
Risk/Impact
Insecure network settings may leads to information leak or data loss.
Risk Rating
High
Implementation Steps
Ensure security options are enabled as recommended in below table. To configure security options settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration\Administrative Templates\Network\ and configure the settings with the values as suggested in Appendix 6.
2.5.5. Windows Component
Control Statement
This section contains recommendations for Windows Component settings.
Risk/Impact
As to mitigate the users of a system could accidentally share sensitive data with other users on the same system.
Risk Rating
High
Implementation Steps
Ensure security options are enabled as recommended in below table. To configure security options settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration\Administrative Templates\Windows Components and configure the settings with the values as suggested in Appendix 6.
2.5.6. LAPS
Control Statement
This section contains recommendations for configuring Microsoft Local Administrator Password Solution Risk/Impact
When installed and registered properly, AdmPwd.dll takes no action unless given appropriate GPO commands during Group Policy refresh. Risk Rating
High
Implementation Steps
Ensure security options are enabled as recommended in below table. To configure security options settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration\Administrative Templates\LAPS and configure the settings with the values as suggested in Appendix 6.
Note: This Group Policy path does not exist by default. An additional Group Policy template
(AdmPwd.admx/adml) is required - it is included with Microsoft Local Administrator Password Solution (LAPS).
2.5.7. SCM: Pass the Hash Mitigations
Control Statement
This section contains recommendations for mitigating Pass-the-Hash attacks.
Risk/Impact
Local accounts are at high risk for credential theft when the same account and password is configured on multiple systems. Ensuring this policy is Enabled significantly reduces that risk.
Risk Rating
High
Implementation Steps
Ensure security options are enabled as recommended in below table. To configure security options settings,
Press Windows key > type Run and type gpedit.msc.
Expand Computer Configuration\Administrative Templates\SCM: and configure the settings with the values as suggested in Appendix 6.
Note:
This Group Policy path does not exist by default. An additional Group Policy template (PtH.admx/adml) is required - it is included with Microsoft Security Compliance Manager (SCM).
2.6. Encryption
2.6.1. Disable weak encryption protocol
Control Statement
If configured to require client side certificates, TLS can also play a role in client authentication to the server. TLS also provides two additional benefits that are commonly overlooked; integrity guarantees and replay prevention. A TLS stream of communication contains built-in controls to prevent tampering with any portion of the encrypted data. In addition, controls are also built-in to prevent a captured stream of TLS data from being replayed at a later time.
TLS provides the above guarantees to data during transmission. TLS does not offer any of these security benefits to data that is at rest. Therefore appropriate security controls must be added to protect data while at rest within the application or within data stores.
Risk/Impact
An attacker may try to break the integrity of data and also sniff the sensitive information.
Risk Rating
Medium
Implementation Steps
To Ensure the SSL 2.0, SSL 3.0 protocol must be disabled on the server and make sure that the stronger TLS protocols are used, follow these instructions to disable Weak SSL protocols:
Click Start, click Run, type regedit, and then click OK.
In Registry Editor, locate the following registry key/folder:
HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols 3. Right-click on the SSL 2.0 folder and select New and then click Key. Name the new folder Server.
Inside the Server folder, click the Edit menu, select New, and click DWORD (32-bit) Value.
Enter Enabled as the name and hit Enter.
Ensure that it shows 0x00000000 (0) under the Data column (it should by default). If it doesn't, right-click and select Modify and enter 0 as the Value data.
Now to disable SSL 3.0, right-click on the SSL 3.0 folder and select New and then click Key. Name the new folder Server.
Inside the Server folder, click the Edit menu, select New, and click DWORD (32-bit) Value.
Enter Enabled as the name and hit Enter.
2.6.2. Enable TLS 1.2 and above protocol
Control Statement
If configured to require client side certificates, TLS can also play a role in client authentication to the server. TLS also provides two additional benefits that are commonly overlooked; integrity guarantees and replay prevention. A TLS stream of communication contains built-in controls to prevent tampering with any portion of the encrypted data. In addition, controls are also built-in to prevent a captured stream of TLS data from being replayed at a later time.
TLS provides the above guarantees to data during transmission. TLS does not offer any of these security benefits to data that is at rest. Therefore appropriate security controls must be added to protect data while at rest within the application or within data stores.
Risk/Impact
An attacker may try to break the integrity of data and also sniff the sensitive information.
Risk Rating
Medium
Implementation Steps
The TLS 1.2 & above protocol must be enabled on the server and make sure that the stronger TLS protocols are used, follow these instructions to enable TLS protocols:
Click Start, click Run, type regedit, and then click OK.
In Registry Editor, locate the following registry key/folder:
HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols 3. Create TLS 1.2 folder and then click Key. Name the new folder Server.
Inside the Server folder, click the Edit menu, select New, and click DWORD (32-bit) Value.
Enter Enabled as the name and hit Enter.
Ensure that it shows 0x00000001 (1) under the Data column. If it doesn't, right-click and select Modify and enter 1 as the Value data.
Now to Enable TLS 1.2 protocol right-click on the TLS 1.2 folder and select New and then click Key. Name the new folder Server.
Inside the Server folder, click the Edit menu, select New, and click DWORD (32-bit) Value.
Enter Enabled as the name and hit Enter.
Ensure that it shows 0x00000001 (1) under the Data column (it should by default). If it doesn't, right-click and select Modify and enter 1 as the data value.
Restart the computer.
2.7. SMB Protocol
2.7.1. Disable Weak SMB Protocol
Control Statement
The Server Message Block (SMB) Protocol is a network file sharing protocol